=============================================================================
   
                     ##          ##                 ###       ##         ##
                    ##   ##                        ## ##                 ##
    #####    #####       ##     ###   ##     ##    ## ##     ###     ######
        ##  ##   ##    ######    ##   ##     ##   ##   ##     ##    ##   ##
    ######  ##           ##      ##    ##   ##    #######     ##    ##   ##
   ##   ##  ##   ##      ##      ##     ## ##    ##     ##    ##    ##   ##
    ######   #####        ###  ######    ###     ##     ##  ######   ######
                                                                  ac'tivAid
   ________________________________________________________________________
   |  -=> Regeln zur Erstellung eigener Erweiterungen fr ac'tivAid! <=-  |
   
=============================================================================
Inhaltsverzeichnis

1. Einleitung
2. Die Grundregeln
3. Notwendige Variablen
   3.1. Sprachvariablen
4. Notwendige Unterroutinen
   4.1. Wichtige Unterroutinen von ac'tivAid
5. Funktionen von ac'tivAid zur Verwendung in Erweiterung
6. Anhang
   6.1. Vergeben Prfixe
   6.2. Vergebene GUI-Nummern
   6.3. Von ac'tivAid verwendete Variablen
   6.4. Dateien und Verzeichnisse
_____________________________________________________________________________
 1. Einleitung

Ac'tivAid kann man als Framework fr kleine ac'tivAid-Skripte bezeichnen. Es 
bietet eine einheitliche Oberflche wo man diese kleinen, Erweiterungen 
genannten, Skripte installieren, deinstallieren und vor allem auch 
konfigurieren kann. Hier soll fr den Skriptentwickler erlutert werden, wie 
er eigene Skripte in ac'tivAid integrieren kann. Damit sich ein Skript bzw. 
eine Erweiterung auch mit ac'tivAid und anderen Erweiterungen vertrgt, muss 
es einige Grundregeln einhalten. Um den Einstieg zu erleichtern gibt es im 
Verzeichnis "development" die Vorlagedatei "template.ahk". Diese sollte man 
duplizieren und ins Verzeichnis "extensions" kopieren, wenn man eine neue 
Erweiterung erstellen mchte. Will man eine mitgelieferte Erweiterung 
anpassen, sollte sie ebenfalls dupliziert und die Datei umbenannt werden, 
damit beim nchsten Update nicht alle nderungen wieder verloren gehen.

Zum besseren Verstndnis ist es auch immer sehr hilfreich, sich vorhandene 
Erweiterungen anzuschauen. Besonders geeignet ist hierzu die Erweiterung 
NewFolder, da sie recht einfach ist und ausfhrlicher kommentiert.
_____________________________________________________________________________
 2. Die Grundregeln

Regel 1 - Erweiterungen mssen im Verzeichnis "extensions" als AHK-Datei
          angelegt werden

Regel 2 - Variablen, Unterroutinen und Funktionen mssen ein eindeutiges
          Prfix vorangestellt bekommen, wie z.B. "nf_main_NewFolder". Das 
          Prfix ist in diesem Fall "nf_". Wird das nicht eingehalten, kann
          es zu Konflikten mit ac'tivAid kommen, falls die Variable schon 
          dort verwendet wird. Im Anhang gibt es eine Auflistung aller 
          bereits verwendeten Prfixe.

Regel 3 - Eine Erweiterung muss einen eindeutigen Namen ohne Leer- und 
          Sonderzeichen bekommen, nur _ ist erlaubt. Dieser Name wird nmlich
          auch fr die vorgeschriebenen Unterroutinen und in der Ini-Datei
          als Sektion verwendet, wo eben keine Sonderzeichen erlaubt sind.
          Zu besseren Lesbarkeit kann man allerdings mit den Namen mit 
          Grobuchstaben gliedern. Bei der spteren Verwendung ist die Gro-/
          Kleinschreibung allerdings irrelevant. 
          
Regel 4 - Erweiterungen mit eigenen Dialogen mssen diese mit einer eigenen
          GUI-Nummer versehen. Das erreicht man z.B. mit "Gui, 23:Add, Text"
          oder indem man "Gui, 23:Default" vor die GUI-Befehle setzt.
          Im letzten Fall ist darauf zu achten, dass es fr jeden Thread wie
          z.B. Unterroutinen von Schaltflche erneut angegeben werden muss.
          Alle verwendeten GUI-Nummern sind im Anhang weiter unten
          aufgelistet.
_____________________________________________________________________________
 3. Notwendige Variablen

Ac'tivAid setzt einige Variablen voraus, die unbedingt von einer Erweiterung 
bei der Initialisierung gesetzt werden mssen. In der folgenden bersicht 
steht PRE fr Prfix der Erweiterung und NDE fr Name der Erweiterung. Diese 
Abkrzungen sind natrlich durch die entsprechenden Vorgaben der Erweiterung 
zu ersetzen.

Prefix                  Hier muss das Prfix der Erweiterung angegeben werden

%Prefix%_ScriptName     Der Name der Erweiterung ohne Leerzeichen und 
                        Sonderzeichen. (_ ist erlaubt)
                       
%Prefix%_ScriptVersion  Die Versionsnummer der Erweiterung

RequireExtensions       Wenn eine Erweiterung von einer anderen Erweiterung
                        abhngig ist, diese also installiert sein muss, 
                        knnen hier deren Namen aufgefhrt werden. Damit 
                        verweigert die Erweiterungs-Verwaltung die 
                        Installation, wenn die erforderlichen Erweiterungen
                        nicht installiert sind.
                        
AddSettings_NDE         Wenn eine Erweiterung es ermglicht, dass 
                        Einstellungen nicht nur importiert, sondern auch
                        hinzugefgt werden knnen, muss diese Variable den
                        Wert 1 haben. Dadurch wird das 'Pfeil'-Men unten
                        links um einen Eintrag erweitert.
                       
ConfigFile_NDE          Werden Einstellungen in einer separaten Datei 
                        gespeichert, muss der relative Pfad dorthin hier 
                        angegeben werden. Diese Variable wird nur bentigt
                        wenn AddSettings_NDE den Wert 1 hat.
                        
CustomHotkey_NDE        Mit dem Wert 1 wird ac'tivAid dazu gebracht, dass 
                        es automatisch der Erweiterung ein Tastaturkrzel
                        zur Verfgung stellt und entsprechend die 
                        Konfigurations-Seite um eine Schaltflche zur Abfrage
                        diese Krzels ergnzt.
                        
Hotkey_NDE              Wurde noch keine Tastaturkrzel definiert, wird das
                        hier angegeben als Standard-Krzel verwendet
                        
HotkeyPrefix_NDE        Bei einigen Erweiterungen mag es sinnvoll sein, dass
                        deren Krzel immer ein Steuerzeichen vorangestellt 
                        bekommen. So knnte man durch ~ festlegen, dass
                        Krzel nicht abgefangen, sondern auch an die aktive
                        Anwendung weitergeleitet werden.
                        
HideSettings            Wenn ein Erweiterung nicht konfigurierbar sein soll
                        muss hier der Wert 1 eingetragen werden. Dadurch 
                        verschwindet die entsprechende Seite im 
                        Konfigurations-Dialog 
                        
MenuName                Der Name des Meneintrags im Tray-Men

Description             Kurze Beschreibung fr, welche in der Erweiterungs-
                        Verwaltung angezeigt wird.
                        
EnableTray_NDE          Soll eine Erweiterung nicht im Tray-Men aufgefhrt
                        werden, muss der Wert 0 betragen

DisableIfCompiled_NDE   Ist es wie bei HotStrings nicht mglich, dass man
                        eine Erweiterung in kompilierter Form deaktivieren
                        oder aktivieren kann, muss der Wert 1 betragen.
                        Damit verschwindet die Erweiterung automatisch aus
                        dem Tray-Men und lsst sich auch ber den
                        Konfigurationsdialog nicht mehr umschalten.
_____________________________________________________________________________
 3.1. Sprachvariablen

Die Template-Datei ist schon so vorbereitet, dass man seine Erweiterung 
zweisprachig anlegen kann. Standardmig wird in ac'tivAid neben Deutsch 
Englisch als alternative Sprache verwendet. Mann sollte also bei allen
GUI-Elementen, Meldungen und Mens auf Variablen zurckgreifen, statt direkt
die Text anzugeben. Es empfiehlt sich dabei das Format lng_PRE_StringName, um
Verwechslungen mit andern Variablen zu vermeiden. 

Zudem gibt es noch spezielle ToolTip-Variablen wie bei HotStrings zu sehen. 
Sie haben das feste Format tooltip_NAMEDESGUIELEMETS. Steht die Maus ber
ein GUI-Element, welches eine ToolTip-Variable hat, wird nach 1000 ms der
ToolTip angezeigt.

_____________________________________________________________________________
 4. Notwendige Unterroutinen

Damit ac'tivAid die Erweiterung steuern kann, mssen einige vorgegebene 
Unterroutinen existieren. Sie haben einen festen Namensteil und einen 
variablen Teil (NDE), der durch den Namen der Erweiterung zu ersetzen ist.

init_NDE                Diese Routine wird direkt beim Laden von ac'tivAid
                        ausgefhrt und setzt alle notwendigen Variablen.
                        Hier mssen auch alle Einstellungen aus der
                        Ini-Datei eingelesen werden. Tastaturkrzel und
                        Timer drfen hier noch nicht aktiviert werden.

SettingsGui_NDE         Wenn ac'tivAid den Konfigurations-Dialog aufbaut
                        wird diese Funktion aufgerufen. Hier werden alle
                        Elemente der Konfigurationsseite der Erweiterung
                        definiert. Das erste Element sollte die Position
                        "XS+10 Y+5" haben. Die Option "Section" ist hier
                        in keinem Element erlaubt. Zudem muss jedes
                        bearbeitbare Element die Unterroutine 
                        "sub_CheckIfSettingsChanged" aufrufen, damit 
                        ac'tivAid Vernderungen an den Einstellungen 
                        feststellen kann und somit bei einer Besttigung
                        die Speicherung einleitet. 
                        
SaveSettings_NDE        Wird aufgerufen, wenn der Konfigurations-Dialog mit 
                        Ok oder bernehmen besttigt wird. Hier mssen alle
                        Einstellungen und Tastaturkrzel in die Ini-Datei
                        geschrieben werden. Ist danach ein Neustart von
                        ac'tivAid notwendig, kann noch die Variable Reload 
                        auf 1 gesetzt werden.
                        
AddSetting_NDE          Die Unterroutine ist nur notwendig, wenn die 
                        gleichnamige Variable den Wert 1 hat. Sie wird
                        aufgerufen, wenn Einstellungen zu den aktuellen 
                        ber das 'Pfeil'-Men hinzugefgt werden.
                        
CancelSettings_NDE      In seltenen Fllen ist es notwendig Werte zurck-
                        zusetzen wenn der Konfigurations-Dialog abgebrochen
                        wird. Das geschieht dann in dieser Routine.
                        
DoEnable_NDE            Wird beim Starten von ac'tivAid aufgerufen, wenn die
                        Erweiterung aktiv ist (Enable_NDE = 1). Wird zudem
                        beim manuellen reaktivieren einer Erweiterung
                        aufgerufen. Hier werden Tastaturkrzel und Timer
                        aktiviert.
                        
DoDisable_NDE           Analog zu DoEnable wird diese Routine aufgerufen, 
                        wenn eine Erweiterung manuell deaktiviert wird.
                        Hier werden Tastaturkrzel und Timer ausgeschaltet.
                        
DefaultSetttings_NDE    Normalerweise stehen hier keine Befehle, da ac'tivAid
                        selbst dafr sorgt, dass beim Rckstellen der 
                        Einstellungen diese aus der Ini-Datei gelscht 
                        werden. In einigen Fllen kann es aber sinnvoll sein
                        beim Rckstellen auf die Standardwerte noch eine 
                        Aktion auszufhren.
                        
_____________________________________________________________________________
 4.1. Wichtige Unterroutinen/Funktionen von ac'tivAid

sub_CheckIfSettingsChanged
-----------------------------------------------------------------------------
Jedes GUI-Element welches eine Einstellung reprsentiert, sollte mittels 
eines g-Labels auf diese Unterroutine verweisen. Sie ermittelt automatisch,
ob sich Einstellungen seit dem Aufruf des Konfigurationsdialogs gendert 
haben. Wichtig ist, dass das GUI-Element mit 'v' einen eigenen Namen hat.
Sollte fr ein Element eine eigene Unterroutine ntig sein, kann man 
sub_CheckIfSettingsChanged auch in der Unterroutine aufrufen. Bei komplexeren
Konfigurationsmasken wie sie z.B. WebSearch, HotStrings oder UserHotkeys 
haben, funktioniert das nicht, da GUI-Elemente nicht fr eine einzige 
Einstellung stehen, sondern dynamische Werte haben. Fr diesen Fall ist die
Funktion func_SettingsChanged gedacht.

func_SettingsChanged( "Name der Erweiterung" )
-----------------------------------------------------------------------------
Wird diese Funktion mit dem Namen der Erweiterung als Parameter aufgerufen,
wei der Konfigurationsdialog, dass sich Einstellungen fr diese Erweiterung 
gendert haben. Bei alle Erweiterungen, die als nicht 'verndert' gelten, 
werden dann keine Speicherroutinen (SaveSettings_NDE) aufgerufen.

_____________________________________________________________________________
 5. Funktionen von ac'tivAid zur Verwendung in Erweiterungen

Ac'tivAid bietet einige Funktionen, um schnell eine leicht konfigurierbare 
Erweiterung zu erstellen. Wichtig ist zu wissen, dass Variablen und Parameter
bei Funktionen anders angegeben werden. Texte werden in Anfhrungszeichen 
gesetzt und Variablen nicht in %-Zeichen. Gibt man Variablen mit %-Zeichen 
an, wird der Inhalt der Variable Bestandteil des eigentlich Variablennamens.
Das ist Praktisch um z.B. Arrays zu verwenden, 
z.B. Function( Array%A_Index% )

func_HotkeyAddGuiControl( Text, "Variable", "Optionen" )
-----------------------------------------------------------------------------
Hiermit wird eine Schaltflche zur Abfrage eines Tastaturkrzels in die 
Konfiguration einer Erweiterung eingefgt. Text steht dabei fr den Text, der 
vor der Schaltflche platziert wird. Im Normalfall gibt man hier also eine 
Sprachvariable (ohne %) an, welche den Text enthlt. Bei "Variable" gibt man 
einen Variablennamen als String an, worin das Krzel gespeichert wird (intern 
wird noch das Prfix Hotkey_ vorangestellt). Unter "Optionen" gibt man die 
normalen GUI-Element-Optionen wie z.B. "xs+10 y+10 w160" an. Sie beziehen 
sich dabei auf den Text vor der 300 Pixel breiten Schaltflche. Um die 
Schaltflche z.B. schmaler zu machen, muss man Text mit "" leer lassen, womit 
sich dann die Optionen auf die Schaltflche selber beziehen.

func_HotkeyRead( "Variable", Dateiname, Sektion, "Schlssel", 
                 "Unterroutine", "Krzel", "Prfix" )
-----------------------------------------------------------------------------
Diese Funktion sollte nur in der init-Routine einer Erweiterung aufgerufen 
werden und sorgt dafr, dass das Tastaturkrzel aus der Ini-Datei eingelesen 
wird und einer Unterroutine zugeordnet wird. "Variable" gibt den 
Variablennamen (als String!) an, worin das Krzel gespeichert wird. 
"Dateiname" lautet im Normalfall ConfigFile (ohne % und ") und "Sektion" 
nf_ScriptName. Mit "Schlssel" ist der Name gemeint, worunter das Krzel in 
der Ini-Datei zu finden ist. Die Routine, welche mit dem Krzel aufgerufen 
wird, gibt man unter "Unterroutine" an. Steht nichts in der Ini-Datei wird 
das unter "Krzel" angegeben Tastaturkrzel als Standardwert zugewiesen. Bei 
"Prfix" kann man Steuerzeichen wie ~ vor das Krzel setzen lassen, was in 
diesem Fall bedeutet, dass die Krzel nicht abgefangen, sondern 
durchgeschleift werden.

func_HotkeyWrite( "Variable", "Dateiname", "Sektion", "Schlssel" )
-----------------------------------------------------------------------------
Analog zu func_HotkeyRead schreibt diese Funktion ein Tastaturkrzel wieder 
in die Ini-Datei.

func_HotkeyEnable( "Variable" )
func_HotkeyDisable( "Variable" )
-----------------------------------------------------------------------------
Diese beiden Funktionen dienen dazu, ein Tastaturkrzel zu aktivieren, oder 
zu deaktivieren.

func_HotkeyGetVar( "HotkeyArray", "Anzahl", "GetArray" )
-----------------------------------------------------------------------------
Wenn in einer Erweiterung mehrere Tastaturkrzel in einem Array abgelegt 
wurden ist es mit func_HotkeyGetVar recht einfach, ein zum Tastaturkrzel 
(HotkeyArray) passenden Wert aus einem anderen Array (GetArray) auszulesen. 
So hat z.B. die Erweiterung Eject ein zwei Arrays mit 11 Elementen. Im Array 
ej_Hotkey liegen die Tastaturkrzel und im Array ej_Drive sind die 
entsprechenden Laufwerksbuchstaben abgelegt. Da jedem der 11 Hotkeys die 
gleiche Unterroutine zugewiesen ist, braucht es nur eine Zeile, um zu 
ermitteln, welches Laufwerk zum gedrckten Tastaturkrzel gehrt:
ej_Drive := func_HotkeyGetVar( "ej_Hotkey",11,"ej_Drive" )

func_HotkeyDecompose( "Tastaturkrzel", Kurze Darstellung )
-----------------------------------------------------------------------------
Tastaturkrzel werden von AutoHotkey mit einer rechte eigenwilligen Syntax 
definiert, welche sich einem einfachen Anwender nicht auf Anhieb erschliet. 
Mit dieser Funktion wird ein Tastaturkrzel im Klartext zurckgegeben. Ist 
"Kurze Darstellung" auf 1 gesetzt, ist der zurckgegebene Name etwas krzer, 
also ohne Leerzeichen und einigen krzeren Tastenamen.

func_ChangeDir( "Pfad", Neues Fenster, Verzeichnisbaum )
-----------------------------------------------------------------------------
Mit dieser Funktion kann man seine eigenen Erweiterungen leicht mit einem 
Verzeichniswechsel ausrsten. Der Wechsel geschieht wenn mglich im gerade 
aktiven Fenster. Ist der Wechsel nicht mglich, passiert nichts. Soll der 
Wechsel dann alternativ ein neues Fenster ffnen, ist "Neues Fenster" auf -1 
zu setzen. Hat es den Wert 1 wird generell ein neues Explorer-Fenster 
geffnet. Setzt man "Verzeichnisbaum" auf 1, werden neue Explorer-Fenster mit 
Verzeichnisbaum geffnet.

func_AddMessage( "ID", "Unterroutine" )
-----------------------------------------------------------------------------
Damit mehrere Erweiterungen die AutoHotkey-Funktion OnMessage( mit der 
gleichen Message-ID verwenden knnen, muss eine Umweg ber func_AddMessage(
gemacht werden. Populres Beispiel dafr ist die Message WM_KEYDOWN, welche
immer gesendet wird, wenn eine Taste gedrckt wurde. Diese lsst sich dafr
verwenden, um Fenstern eigene Tastaturkrzel zu geben, wie das z.B. bei
QuickNote mit func_AddMessage(0x100, "qn_OnMessage_EditKeys") gemacht wurde.
Bei jedem Tastendruck wird die Unterroutine qn_OnMessage_EditKeys aufgerufen.
Dabei werden die von OnMessage( bekannten Parameter in den Variablen 
%#wParam%, %#lParam%, %#msg% und %#hwnd% abgelegt. Bei WM_KEYDOWN enthlt
#wParam beispielsweise den Wert der gedrckten Taste.

func_RemoveMessage( "ID", "Unterroutine" )
-----------------------------------------------------------------------------
Analog zu func_AddMessage( wird mit dieser Funktion eine Unterroutine wieder
aus dem OnMessage(-Array ausgetragen. Diese Funktion sollte aufgerufen 
werden, wenn ein GUI geschlossen wird.

func_StrTranslate( "String", "Von", "Nach" )
-----------------------------------------------------------------------------
Hiermit lasen sich Zeichen in einem String durch andere Zeichen ersetzen. 
func_StrTranslate( "abcdef", "ad", "14" ) ergibt z.B. "1bc4ef".

func_StrLeft( "String", Anzahl der Zeichen )
-----------------------------------------------------------------------------
Diese Funktion ist quivalent zu dem Befehl StringLeft, kann aber direkt
in If-Abfragen verwendet werden.

func_StrLower ( "String" )
-----------------------------------------------------------------------------
Diese Funktion ist quivalent zu dem Befehl StringLower, kann aber direkt
in If-Abfragen verwendet werden.

func_Hex ( Wert, Unicode )
-----------------------------------------------------------------------------
Wandelt einen String in Hex-Werte um, womit sich daraus z.B. Arrays bilden
lassen, wo ja nicht alle Zeichen erlaubt sind.

func_BeautifyIniFile( "Ini-Datei" )
-----------------------------------------------------------------------------
Hbscht eine angegebene Ini-Datei mit gleichmigen Einrckungen auf. 
Kommentare gehen dabei allerdings verloren.

func_Download( "URL", "Ziel-Datei", "Hinweis", "Titel", Gre )
-----------------------------------------------------------------------------
Ldt eine Datei von einer "URL" zu einer "Ziel-Datei" und zeigt dabei einen
Statusbalken (Gre angegeben) oder die heruntergeladene Datenmenge an.

BalloonTip("Titel", "Text", "Symbol")
-----------------------------------------------------------------------------
Zeigte eine Sprechblase am Tray-Symbol von ac'tivAid oder, falls im 
Sprechblasen im System deaktiviert sind, ein normales Hinweis-Fenster.
"Symbol" kann weggelassen werden oder den Wert "Info", "Warning" und "Error"
enthalten. Das bestimmt, welches Symbol in der Sprechblase zu sehen ist.

_____________________________________________________________________________
 6. Anhang

_____________________________________________________________________________
 6.1. Vergebene Prfixe

cd	ComfortDrag
mc	MouseClip
cl	CommandLine
ej	Eject
fp	FilePaste
fs	FreeSpace
hs	HotStrings
ld	LikeDirkey
ldm	LikeDirkeyMenu
mc	MusicControl
nf	NewFolder
qc	QuickChangeDir
qn	QuickNote
rr	ReadingRuler
rd	RecentDirs
ws	WebSearch
wom	WebSearchOnMButton
wc	WindowsControl
wb	WindowToBottom

_____________________________________________________________________________
 6.2. Vergebene GUI-Nummern

1	ac'tivAid Konfigurations-Dialog
2	ac'tivAid Hilfefenster zu Erweiterungen
3	UserHotkeys Krzel Bearbeiten
6	WebSearch Browser auswhlen/Zentriertes Fenster
7	WebSearch-Dialog
8	QuickChangeDir Suchen-Dialog
9	QuickChangeDir Ergebnisfenster
17	QuickNote
75	Eject
77	MusicControl

_____________________________________________________________________________
 6.3. Von ac'tivAid verwendete Variablen 

Hier eine Liste der wichtigsten Variablen. Um sie in Funktionen verwenden zu
knnen, mssen sie mit dem Befehl global in der Funktion als global angegeben
werden.
 
- Folgende globale Variablen stehen zur Verfgung:
  ScriptName        - Name von ac'tivAid ohne Sonderzeichen 
                      (activAid, z.B. fr die INI-Sektion)
  ScriptNameFull    - Name von ac'tivAid mit Sonderzeichen (ac'tivAid)
  ScriptVersion     - Version von ac'tivAid
  ScriptTitle       - Fenstertitel mit Versionsnummer fr Dialoge
  ConfigFile        - Name und Pfad zur INI-Datei
  Debug             - 1 = Debug-Modus ber die Ini-Datei aktiviert
  Devel             - 1 = Entwickler-Modus aktiviert
  
  Extension[x]               - Array mit den Namen aller installierten
                               Erweiterungen
  ExtensionPrefix[x]         - Prfix der Erweiterung Nr. x
  ExtensionMenuName[x]       - Tray-Men-Name der Erweiterung Nr. x
  ExtensionHideSettings[x]   -  %HideSettings%
  Extension[Name]            - Nr. der Erweiterung mit dem Namen 'Name'
  ExtensionDescription[Name] - Beschreibung der Erweiterung 'Name'
  ExtensionVersion[Name]     - Version der Erweiterung 'Name'
  
- Sprachabhngige Variablen:
  lng_exit          = Beenden
  lng_Left          = linke
  lng_Right         = rechte
  lng_MouseButton   = Maustaste
  lng_Win           = Windows-Taste
  lng_Alt           = Alt-Taste
  lng_Shift         = Shift-Taste
  lng_Ctrl          = Strg-Taste
  lng_ScriptReload  = %ScriptName% aktualisiert.
  lng_Readme        = Informationen
  lng_Changelog     = nderungen
  lng_Browse        = &Durchsuchen ...
  lng_cancel        = Abbrechen
  lng_OK            = OK
  lng_Apply         = bernehmen
  
  weitere stehen natrlich auch in ac'tivAid.ahk, welche jeder Erweiterung
  zur Verfgung stehen.

_____________________________________________________________________________
 6.4. Dateien und Verzeichnisse

ac'tivAid.ahk                           Das Hauptskript  die Schaltzentrale
ac'tivAid LiesMich.txt                  Informationen und Hilfe zu den Erw.
ac'tivAid Changelog.txt                 Versions-Historie

settings                                Verzeichnis fr die Einstellungen
   ac'tivAid.ini                        Einstell. ac'tivAid und Erweiterungen
   HotStrings.ini                       Alle Hotstrings
   QuickNote.txt                        Beispielnotiz fr Quicknote
   ac'tivAid.ico                        32x32-Icon fr Konfigurationsdialog
   ac'tivAid_on.ico                     16x16-Icon fr den Aktiv-Status
   ac'tivAid_off.ico                    16x16-Icon fr den Inaktiv-Status
   WebSearch                            Unterverzeichnis fr WebSearch-Icons
   QuickChangeDir                       Unterverzeichnis fr die QCD-Indexe

development                             Unterverzeichnis fr Entwickler
   Eigene Erweiterungen.txt             Diese Datei mit Hinweisen fr Entwi.
   Template.ahk                         Vorlagen-Datei fr eigene Erw.
   Language-File Creator.ahk            Hilfsskript fr die language.ini
   
extensions                              Unterverzeichnis mit den Erweiterungen
   _header.ahk                          wird automatisch erstellt/verwaltet
   _main.ahk                            wird automatisch erstellt/verwaltet
   ac'tivAid_WindowsControl.ahk         Erweiterung: WindowsControl
   ac'tivAid_WindowToBottom.ahk         Erweiterung: WindowToBottom
   ac'tivAid_CommandLine.ahk            Erweiterung: CommandLine
   ac'tivAid_Eject.ahk                  Erweiterung: Eject
   ac'tivAid_Eject_eject.gif                OSD-Symbol fr Eject
   ac'tivAid_FilePaste.ahk              Erweiterung: FilePaste
   ac'tivAid_FreeSpace.ahk              Erweiterung: FreeSpace
   ac'tivAid_HotStrings.ahk             Erweiterung: HotStrings
   ac'tivAid_LikeDirkey.ahk             Erweiterung: LikeDirkey
   ac'tivAid_LikeDirkey-Menu.ahk        Erweiterung: LikeDirkeyMenu
   ac'tivAid_MusicControl.ahk           Erweiterung: MusicControl
   ac'tivAid_MusicControl_vol2.gif          OSD-Symbol fr MusicControl
   ac'tivAid_MusicControl_vol.gif           OSD-Symbol fr MusicControl    
   ac'tivAid_MusicControl_vol.wav           Tick-Sound fr MusicControl
   ac'tivAid_NewFolder.ahk              Erweiterung: Newfolder
   ac'tivAid_QuickChangeDir.ahk         Erweiterung: QuickChangeDir
   ac'tivAid_QuickChangeDir Indexer.ahk      Indexierungsskript fr QCD
   ac'tivAid_QuickNote.ahk              Erweiterung: QuickNote
   ac'tivAid_ReadingRuler.ahk           Erweiterung: ReadingRuler
   ac'tivAid_RecentDirs.ahk             Erweiterung: RecentDirs
   ac'tivAid_WebSearch.ahk              Erweiterung: WebSearch
   ac'tivAid_WebSearch on MButton.ahk   Erweiterung: WebSearchOnMButton
   ac'tivAid_UserHotkeys.ahk            Erweiterung: UserHotkeys

   UserHotkeys-scripts                  Beispielskripte fr UserHotkeys
      320MPH New.ahk                    320 MPH von Rajat
      320MPH Old.ahk                    320 MPH von Rajat, simple Version
